package main

import (
	"fmt"
	"github.com/rs/zerolog/log"
	"google.golang.org/grpc"
)

func main() {
	fmt.Println("启动一个 Blog Client")

	opts := grpc.WithInsecure()

	cc, err := grpc.Dial("127.0.0.1:50051", opts)
	s := cc.GetState().String()
	fmt.Println(s)
	if err != nil {
		log.Panic().Err(err)
		return
	}
	defer cc.Close()

	// 创建一个博客
	blogid, err := create(cc)
	if err != nil {
		log.Panic().Err(err)
		return
	}

	// 查询一个博客
	blogitem_data := read(cc, blogid)
	if blogitem_data.Title == "" {
		return
	}

	// 更新一个博客
	blogobj, err := update(cc, *blogitem_data)
	if err != nil {
		log.Panic().Err(err)
		return
	}

	// 删除一个博客
	bid, err := delete(cc, blogobj.ID)

	if err != nil {
		log.Panic().Err(err)
		return
	}
	fmt.Println("被删除 blog id", bid)

}

// blog 结构体
type blogItem struct {
	ID       int64  `db:"id"`
	AuthorID string `db:"author_id"`
	Content  string `db:"content"`
	Title    string `db:"title"`
}
